home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / wind5x.arc / WNDW5X-.PAS < prev    next >
Pascal/Delphi Source File  |  1991-01-09  |  5KB  |  110 lines

  1. { =========================================================================== }
  2. { Wndw5X-.pas - unit for Multi-level Virtual Windows        ver 5.X, 12-20-88 }
  3. {            with multi-video page and virtual window capability.             }
  4. {                                                                             }
  5. { This unit has the complete utilities for serial- or random-access, or       }
  6. { virtual multi-level windows.  It works on any IBM or compatible including   }
  7. { PCjr, IBM 3270 PC, and the PS/2 systems, in any video mode.  It uses        }
  8. { QWIK42.TPU for fast screen writing on any video page.                       }
  9. {                                                                             }
  10. { Only the interface is shown in this partial file.                           }
  11. {  Copyright (C) 1987,1988 by James H. LeMay                                  }
  12. { =========================================================================== }
  13.  
  14. { R-,S-,I-,D-,T-,F-,V-,B-,N-,L+ }       { TP4 directives }
  15. {$A-,B-,D-,E-,F-,I-,L-,N-,O-,R-,S-,V-}  { TP5 directives }
  16.  
  17. { If undefined, these directives saves data space and about 2.5k of code. }
  18. { If you are using only video page 0, remove the following "$": }
  19. {$Define MultiPage }
  20.  
  21. { If you are NOT using virtual windows, remove the following "$": }
  22. {$Define AddVirtual }
  23.  
  24. UNIT Wndw;
  25.  
  26. INTERFACE
  27.  
  28. USES Crt,Qwik,Wutil;
  29.  
  30. {$I w5X-var.inc }
  31.  
  32. { -- Basic Window Utilities -- }
  33. procedure InitWindow      (Wattr: integer; ClearScr: boolean);
  34. function  HeapOK          (NumOfBytes: word): boolean;
  35. procedure SetCursorDefault(CursorMode: word);
  36. procedure SetWindowModes  (SumOfAllModes: word);
  37. procedure MakeWindow      (Row,Col,Rows,Cols: byte; Wattr,Battr: integer;
  38.                            BrdrSel: Borders; WindowName: WindowNames);
  39. procedure TitleWindow     (TopOrBottom,Justify: DirType;
  40.                TitleAttr: integer; Title: string);
  41. procedure LocateCursor;
  42. procedure RestoreTurboWindow;
  43. procedure RemoveWindow;
  44.  
  45. { -- Window-relative writing utilities -- }
  46. procedure WWrite          (Row,Col: byte; aStr: string);
  47. procedure WWriteC         (Row: byte; aStr: string);
  48. procedure WWriteA         (Row,Col: byte; ArrayLength: word; VAR aStr);
  49. procedure WGotoRC         (Row,Col: byte);
  50. procedure WGotoEos;
  51. procedure WEosToRC        (Row,Col: byte);
  52. function  WWhereR:        byte;
  53. function  WWhereC:        byte;
  54. function  WEosR:          byte;
  55. function  WEosC:          byte;
  56. procedure WEosLn;
  57. procedure WBrdrH          (Row: byte);
  58. procedure WBrdrV          (Col: byte);
  59. procedure WBrdrPart       (Row,Col: byte; Part: BrdrParts);
  60. procedure WLineH          (Row,Col,Cols: byte);
  61. procedure WLineV          (Row,Col,Rows: byte);
  62. procedure WLinePart       (Row,Col: byte; Part: BrdrParts);
  63. procedure WScrollUp;
  64. procedure WScrollDown;
  65. procedure WInsLine        (Row: byte);
  66. procedure WDelLine        (Row: byte);
  67. procedure WClrLine        (Row: byte);
  68. procedure WClrField       (Row,Col,Cols: byte; Attr: integer);
  69. procedure WClrFieldEos    (        Cols: byte; Attr: integer);
  70. procedure WClrEol         (Row,Col:      byte; Attr: integer);
  71. procedure WClrEos         (                    Attr: integer);
  72. procedure WClrTitle       (TopOrBottom: DirType);
  73. procedure WClrScr;
  74.  
  75. { -- Window management utilities -- }
  76. procedure WriteToCRT;
  77. procedure WriteToHidden   (WindowName: WindowNames);
  78.   {$IfDef MultiPage }
  79. procedure WriteToPage     (PageNum: byte);
  80. procedure WriteAndViewPage(PageNum: byte);
  81.   {$EndIf }
  82. procedure HideWindow;
  83. procedure ShowWindow      (WindowName: WindowNames);
  84. procedure MoveWindow      (NumOfRows,NumOfCols: integer);
  85. function  GetLevelIndex   (WindowName: WindowNames): word;
  86. procedure AccessWindow    (WindowName: WindowNames);
  87. procedure ChangeBorder    (NewBrdr: Borders);
  88. procedure RestoreBorder;
  89.  
  90. { -- Virtual window utilities -- }
  91.   {$IfDef AddVirtual }
  92. procedure SetVirtualSize  (Rows,Cols: byte);
  93. procedure WriteToVirtual  (WindowName: WindowNames);
  94. procedure VViewRC         (Row,Col: byte);
  95. procedure VViewRCrel      (NumOfRows,NumOfCols: integer);
  96. procedure VUpdateWindow;   { Simply does the following 3 procedures: }
  97. procedure VUpdateView;
  98. procedure VUpdateTitles;
  99. procedure VUpdateCursor;
  100. procedure VUpdateRows     (Row,Rows: byte);
  101. procedure VScrollView     (NumOfRows,NumOfCols: integer);
  102. procedure VResizeWindow   (NumOfRows,NumOfCols: integer);
  103. procedure VZoomWindow;
  104.   {$EndIf }
  105.  
  106.  
  107. IMPLEMENTATION
  108.  
  109. END.
  110.